<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Jetson Inference: jetson-inference/segNet.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NVLogo_2D.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Jetson Inference
   </div>
   <div id="projectbrief">DNN Vision Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('segNet_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">segNet.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="segNet_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * copy of this software and associated documentation files (the &quot;Software&quot;),</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * to deal in the Software without restriction, including without limitation</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Software is furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * all copies or substantial portions of the Software.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * DEALINGS IN THE SOFTWARE.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef __SEGMENTATION_NET_H__</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define __SEGMENTATION_NET_H__</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tensorNet_8h.html">tensorNet.h</a>&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="group__segNet.html#ga33b5fd20f8ed468725c55eb0bcc5af71">   34</a></span>&#160;<span class="preprocessor">#define SEGNET_DEFAULT_INPUT   &quot;data&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="group__segNet.html#ga05c359c7dcd0c1e855543a3a9a18c422">   40</a></span>&#160;<span class="preprocessor">#define SEGNET_DEFAULT_OUTPUT  &quot;score_fr_21classes&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classsegNet.html">   47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classsegNet.html">segNet</a> : <span class="keyword">public</span> <a class="code" href="classtensorNet.html">tensorNet</a></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">   53</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">NetworkType</a></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        {</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660adba730fd6f1caee50f8430d96603757a">   55</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660adba730fd6f1caee50f8430d96603757a">FCN_ALEXNET_PASCAL_VOC</a>,             </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a3cb82f1b884ddc9dc8a51381c2cf8420">   56</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a3cb82f1b884ddc9dc8a51381c2cf8420">FCN_ALEXNET_SYNTHIA_CVPR16</a>,         </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a5808394068d715aeff04991dc34b73a8">   57</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a5808394068d715aeff04991dc34b73a8">FCN_ALEXNET_SYNTHIA_SUMMER_HD</a>,    </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a245b790d2bc719d2397899bef7472da3">   58</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a245b790d2bc719d2397899bef7472da3">FCN_ALEXNET_SYNTHIA_SUMMER_SD</a>,    </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a909c376ffd7d5363aea65c200f2e008e">   59</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a909c376ffd7d5363aea65c200f2e008e">FCN_ALEXNET_CITYSCAPES_HD</a>,          </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a0760a67c5a08aad80d7dc732bc760e31">   60</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a0760a67c5a08aad80d7dc732bc760e31">FCN_ALEXNET_CITYSCAPES_SD</a>,          </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a46829d99af463638dfd4e547b0a2a95d">   61</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a46829d99af463638dfd4e547b0a2a95d">FCN_ALEXNET_AERIAL_FPV_720p</a>,        </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                <span class="comment">/* add new models here */</span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a95a81cd526c1ada9d225f6142f5f0f41">   64</a></span>&#160;                <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a95a81cd526c1ada9d225f6142f5f0f41">SEGNET_CUSTOM</a></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        };</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">   70</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">FilterMode</a></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        {</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0abe4ae38cf99cdab6c3b070ee4a83bb47">   72</a></span>&#160;                <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0abe4ae38cf99cdab6c3b070ee4a83bb47">FILTER_POINT</a>,           </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">   73</a></span>&#160;                <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">FILTER_LINEAR</a>           </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        };</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">static</span> <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">NetworkType</a> <a class="code" href="classsegNet.html#a586492c234d2dc924458e99d6026dbb4">NetworkTypeFromStr</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* model_name );</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keyword">static</span> <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">FilterMode</a> <a class="code" href="classsegNet.html#a299e7f53cde4e3e25cd00829dc181a10">FilterModeFromStr</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* str, <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">FilterMode</a> default_value=<a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">FILTER_LINEAR</a> );</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keyword">static</span> <a class="code" href="classsegNet.html">segNet</a>* <a class="code" href="classsegNet.html#a0679f72dbced85d919d01af841c67db9">Create</a>( <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">NetworkType</a> networkType=<a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a0760a67c5a08aad80d7dc732bc760e31">FCN_ALEXNET_CITYSCAPES_SD</a>, uint32_t maxBatchSize=<a class="code" href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a>,</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                                           <a class="code" href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a> precision=<a class="code" href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a>, <a class="code" href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a> device=<a class="code" href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a>, <span class="keywordtype">bool</span> allowGPUFallback=<span class="keyword">true</span> );</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        </div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keyword">static</span> <a class="code" href="classsegNet.html">segNet</a>* <a class="code" href="classsegNet.html#a0679f72dbced85d919d01af841c67db9">Create</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* prototxt_path, <span class="keyword">const</span> <span class="keywordtype">char</span>* model_path, </div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                                           <span class="keyword">const</span> <span class="keywordtype">char</span>* class_labels, <span class="keyword">const</span> <span class="keywordtype">char</span>* class_colors=NULL,</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                                           <span class="keyword">const</span> <span class="keywordtype">char</span>* input = <a class="code" href="group__segNet.html#ga33b5fd20f8ed468725c55eb0bcc5af71">SEGNET_DEFAULT_INPUT</a>, </div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                                           <span class="keyword">const</span> <span class="keywordtype">char</span>* output = <a class="code" href="group__segNet.html#ga05c359c7dcd0c1e855543a3a9a18c422">SEGNET_DEFAULT_OUTPUT</a>,</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                                           uint32_t maxBatchSize=<a class="code" href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a>, </div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                                           <a class="code" href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a> precision=<a class="code" href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a>, </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                                           <a class="code" href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a> device=<a class="code" href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a>, <span class="keywordtype">bool</span> allowGPUFallback=<span class="keyword">true</span> );</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        </div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">static</span> <a class="code" href="classsegNet.html">segNet</a>* <a class="code" href="classsegNet.html#a0679f72dbced85d919d01af841c67db9">Create</a>( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv );</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        </div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classsegNet.html#a167f9d7e76b2837485278bf7323b4eac">~segNet</a>();</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        </div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a2fe1beec3215b5d7744420b57ba397c4">Process</a>( <span class="keywordtype">float</span>* input, uint32_t width, uint32_t height, <span class="keyword">const</span> <span class="keywordtype">char</span>* ignore_class=<span class="stringliteral">&quot;void&quot;</span> );</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a1efb45b81c82dd6f74c641ab39a41387">Mask</a>( uint8_t* output, uint32_t width, uint32_t height );</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a1efb45b81c82dd6f74c641ab39a41387">Mask</a>( <span class="keywordtype">float</span>* output, uint32_t width, uint32_t height, <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">FilterMode</a> filter=<a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">FILTER_LINEAR</a> );</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a3a670c08ad8b13db6ee092c59efe88b8">Overlay</a>( <span class="keywordtype">float</span>* output, uint32_t width, uint32_t height, <a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">FilterMode</a> filter=<a class="code" href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">FILTER_LINEAR</a> );</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classsegNet.html#a04bb46f8a71a45044d324a5e140f0777">FindClassID</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* label_name );</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classsegNet.html#a31e8118b2a38e330b6e087cf6c98396e">  166</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="classsegNet.html#a31e8118b2a38e330b6e087cf6c98396e">GetNumClasses</a>()<span class="keyword"> const                                           </span>{ <span class="keywordflow">return</span> <a class="code" href="tensorNet_8h.html#a2dd230b8ba7267356e52b308b5c40077">DIMS_C</a>(<a class="code" href="classtensorNet.html#a3487d6af48f91afcbeea76552d21d1c5">mOutputs</a>[0].dims); }</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classsegNet.html#a895252269f201c23e8887d2774ec5ac4">  171</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classsegNet.html#a895252269f201c23e8887d2774ec5ac4">GetClassLabel</a>( uint32_t <span class="keywordtype">id</span> )<span class="keyword"> const           </span>{ <span class="keywordflow">return</span> <span class="keywordtype">id</span> &lt; <a class="code" href="classsegNet.html#a5763fca156e99d9fe07dcbf626489b0e">mClassLabels</a>.size() ? <a class="code" href="classsegNet.html#a5763fca156e99d9fe07dcbf626489b0e">mClassLabels</a>[id].c_str() : NULL; }</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classsegNet.html#a07e9a40b797f22ed0f0e83479be57d17">  176</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">float</span>* <a class="code" href="classsegNet.html#a07e9a40b797f22ed0f0e83479be57d17">GetClassColor</a>( uint32_t <span class="keywordtype">id</span> )<span class="keyword"> const                                </span>{ <span class="keywordflow">return</span> <a class="code" href="classsegNet.html#adbf7de9cddd287f99a1ef7edf531325c">mClassColors</a>[0] + (<span class="keywordtype">id</span>*4); }</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classsegNet.html#a2a9108ad71f4d5f1995ac58282a10b88">SetClassColor</a>( uint32_t classIndex, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a=255.0f );</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        </div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classsegNet.html#a12d132d630f471c64ad943cbbffb2851">SetGlobalAlpha</a>( <span class="keywordtype">float</span> alpha, <span class="keywordtype">bool</span> explicit_exempt=<span class="keyword">true</span> );</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classsegNet.html#a973c337a2c3d7371c6b7cebd3aa2ade0">  192</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classsegNet.html#a973c337a2c3d7371c6b7cebd3aa2ade0">GetClassPath</a>()<span class="keyword"> const                                         </span>{ <span class="keywordflow">return</span> <a class="code" href="classsegNet.html#af9a9bd73dc17940aa87aacba2001b09b">mClassPath</a>.c_str(); }</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classsegNet.html#a96b6fe6b05534c0792f8cc9353723219">  198</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="classsegNet.html#a96b6fe6b05534c0792f8cc9353723219">GetGridWidth</a>()<span class="keyword"> const                                            </span>{ <span class="keywordflow">return</span> <a class="code" href="tensorNet_8h.html#a7d959cb65990da8bfea3d941d6daf416">DIMS_W</a>(<a class="code" href="classtensorNet.html#a3487d6af48f91afcbeea76552d21d1c5">mOutputs</a>[0].dims); }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classsegNet.html#a95980d825a9939d0f48bfb2ef51ebb79">  204</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="classsegNet.html#a95980d825a9939d0f48bfb2ef51ebb79">GetGridHeight</a>()<span class="keyword"> const                                           </span>{ <span class="keywordflow">return</span> <a class="code" href="tensorNet_8h.html#a1fc0b1785ea99bd75ec83b1eeb4e6120">DIMS_H</a>(<a class="code" href="classtensorNet.html#a3487d6af48f91afcbeea76552d21d1c5">mOutputs</a>[0].dims); }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classsegNet.html#a7779565e2e627209d6fc6e7562047431">  209</a></span>&#160;        <span class="keyword">inline</span> <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">NetworkType</a> <a class="code" href="classsegNet.html#a7779565e2e627209d6fc6e7562047431">GetNetworkType</a>()<span class="keyword"> const                                       </span>{ <span class="keywordflow">return</span> <a class="code" href="classsegNet.html#a9719a3525dd0ee4bcc0e954187dc7323">mNetworkType</a>; }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classsegNet.html#a94b243146a1391e82612cb70641c4bac">  214</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classsegNet.html#a94b243146a1391e82612cb70641c4bac">GetNetworkName</a>()<span class="keyword"> const                                       </span>{ <span class="keywordflow">return</span> (<a class="code" href="classsegNet.html#a9719a3525dd0ee4bcc0e954187dc7323">mNetworkType</a> != <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a95a81cd526c1ada9d225f6142f5f0f41">SEGNET_CUSTOM</a> ? <span class="stringliteral">&quot;FCN_Alexnet&quot;</span> : <span class="stringliteral">&quot;segNet&quot;</span>); }</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <a class="code" href="classsegNet.html#af2a45b6307104ed74714349becc0495c">segNet</a>();</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        </div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a3b98b9827d5c07e84ed6711414b96554">classify</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* ignore_class );</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a3691c49b64e20993bb2440129a7cd81e">overlayPoint</a>( <span class="keywordtype">float</span>* input, uint32_t in_width, uint32_t in_height, <span class="keywordtype">float</span>* output, uint32_t out_width, uint32_t out_height, <span class="keywordtype">bool</span> mask_only );</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a1365e866302f49f6fe7f9fe95cbe6a72">overlayLinear</a>( <span class="keywordtype">float</span>* input, uint32_t in_width, uint32_t in_height, <span class="keywordtype">float</span>* output, uint32_t out_width, uint32_t out_height, <span class="keywordtype">bool</span> mask_only );</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        </div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a218a2c71cb4d59476070385c7370f789">loadClassColors</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classsegNet.html#a31d2bd6ddf05ce178a8e6c5b88247075">loadClassLabels</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classsegNet.html#a5763fca156e99d9fe07dcbf626489b0e">  227</a></span>&#160;        std::vector&lt;std::string&gt; <a class="code" href="classsegNet.html#a5763fca156e99d9fe07dcbf626489b0e">mClassLabels</a>;</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classsegNet.html#af9a9bd73dc17940aa87aacba2001b09b">  228</a></span>&#160;        std::string <a class="code" href="classsegNet.html#af9a9bd73dc17940aa87aacba2001b09b">mClassPath</a>;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classsegNet.html#adbf7de9cddd287f99a1ef7edf531325c">  230</a></span>&#160;        <span class="keywordtype">float</span>*   <a class="code" href="classsegNet.html#adbf7de9cddd287f99a1ef7edf531325c">mClassColors</a>[2];       </div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classsegNet.html#ac1f23154131a719769edf4811f8762ef">  231</a></span>&#160;        uint8_t* <a class="code" href="classsegNet.html#ac1f23154131a719769edf4811f8762ef">mClassMap</a>[2];          </div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classsegNet.html#ad7970fe3c387258828d628bd5f08e57a">  233</a></span>&#160;        <span class="keywordtype">float</span>*   <a class="code" href="classsegNet.html#ad7970fe3c387258828d628bd5f08e57a">mLastInputImg</a>;         </div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classsegNet.html#ad984bfe4460621a78440bfb4768f4e8e">  234</a></span>&#160;        uint32_t <a class="code" href="classsegNet.html#ad984bfe4460621a78440bfb4768f4e8e">mLastInputWidth</a>;       </div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classsegNet.html#a4341b8ae226236eef40867bab4c7f251">  235</a></span>&#160;        uint32_t <a class="code" href="classsegNet.html#a4341b8ae226236eef40867bab4c7f251">mLastInputHeight</a>;      </div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classsegNet.html#a9719a3525dd0ee4bcc0e954187dc7323">  237</a></span>&#160;        <a class="code" href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">NetworkType</a> <a class="code" href="classsegNet.html#a9719a3525dd0ee4bcc0e954187dc7323">mNetworkType</a>;       </div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;};</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="ttc" id="classsegNet_html_a5579582306d8b98e3a8acf2b73e13ea0"><div class="ttname"><a href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0">segNet::FilterMode</a></div><div class="ttdeci">FilterMode</div><div class="ttdoc">Enumeration of mask/overlay filtering modes. </div><div class="ttdef"><b>Definition:</b> segNet.h:70</div></div>
<div class="ttc" id="group__tensorNet_html_gaac6604fd52c6e5db82877390e0378623"><div class="ttname"><a href="group__tensorNet.html#gaac6604fd52c6e5db82877390e0378623">precisionType</a></div><div class="ttdeci">precisionType</div><div class="ttdoc">Enumeration for indicating the desired precision that the network should run in, if available in hard...</div><div class="ttdef"><b>Definition:</b> tensorNet.h:79</div></div>
<div class="ttc" id="classsegNet_html_a3691c49b64e20993bb2440129a7cd81e"><div class="ttname"><a href="classsegNet.html#a3691c49b64e20993bb2440129a7cd81e">segNet::overlayPoint</a></div><div class="ttdeci">bool overlayPoint(float *input, uint32_t in_width, uint32_t in_height, float *output, uint32_t out_width, uint32_t out_height, bool mask_only)</div></div>
<div class="ttc" id="classsegNet_html_a299e7f53cde4e3e25cd00829dc181a10"><div class="ttname"><a href="classsegNet.html#a299e7f53cde4e3e25cd00829dc181a10">segNet::FilterModeFromStr</a></div><div class="ttdeci">static FilterMode FilterModeFromStr(const char *str, FilterMode default_value=FILTER_LINEAR)</div><div class="ttdoc">Parse a string from one of the FilterMode values. </div></div>
<div class="ttc" id="group__tensorNet_html_ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b"><div class="ttname"><a href="group__tensorNet.html#ggaa5d3f9981cdbd91516c1474006a80fe4adc7f3f88455afa81458863e5b3092e4b">DEVICE_GPU</a></div><div class="ttdoc">GPU (if multiple GPUs are present, a specific GPU can be selected with cudaSetDevice() ...</div><div class="ttdef"><b>Definition:</b> tensorNet.h:108</div></div>
<div class="ttc" id="tensorNet_8h_html_a7d959cb65990da8bfea3d941d6daf416"><div class="ttname"><a href="tensorNet_8h.html#a7d959cb65990da8bfea3d941d6daf416">DIMS_W</a></div><div class="ttdeci">#define DIMS_W(x)</div><div class="ttdef"><b>Definition:</b> tensorNet.h:52</div></div>
<div class="ttc" id="classsegNet_html_a5763fca156e99d9fe07dcbf626489b0e"><div class="ttname"><a href="classsegNet.html#a5763fca156e99d9fe07dcbf626489b0e">segNet::mClassLabels</a></div><div class="ttdeci">std::vector&lt; std::string &gt; mClassLabels</div><div class="ttdef"><b>Definition:</b> segNet.h:227</div></div>
<div class="ttc" id="classsegNet_html_a9719a3525dd0ee4bcc0e954187dc7323"><div class="ttname"><a href="classsegNet.html#a9719a3525dd0ee4bcc0e954187dc7323">segNet::mNetworkType</a></div><div class="ttdeci">NetworkType mNetworkType</div><div class="ttdoc">Pretrained built-in model type enumeration. </div><div class="ttdef"><b>Definition:</b> segNet.h:237</div></div>
<div class="ttc" id="classsegNet_html_a895252269f201c23e8887d2774ec5ac4"><div class="ttname"><a href="classsegNet.html#a895252269f201c23e8887d2774ec5ac4">segNet::GetClassLabel</a></div><div class="ttdeci">const char * GetClassLabel(uint32_t id) const</div><div class="ttdoc">Retrieve the description of a particular class. </div><div class="ttdef"><b>Definition:</b> segNet.h:171</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a245b790d2bc719d2397899bef7472da3"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a245b790d2bc719d2397899bef7472da3">segNet::FCN_ALEXNET_SYNTHIA_SUMMER_SD</a></div><div class="ttdoc">FCN-Alexnet trained on SYNTHIA SEQS summer datasets. </div><div class="ttdef"><b>Definition:</b> segNet.h:58</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a5808394068d715aeff04991dc34b73a8"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a5808394068d715aeff04991dc34b73a8">segNet::FCN_ALEXNET_SYNTHIA_SUMMER_HD</a></div><div class="ttdoc">FCN-Alexnet trained on SYNTHIA SEQS summer datasets. </div><div class="ttdef"><b>Definition:</b> segNet.h:57</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660adba730fd6f1caee50f8430d96603757a"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660adba730fd6f1caee50f8430d96603757a">segNet::FCN_ALEXNET_PASCAL_VOC</a></div><div class="ttdoc">FCN-Alexnet trained on Pascal VOC dataset. </div><div class="ttdef"><b>Definition:</b> segNet.h:55</div></div>
<div class="ttc" id="classsegNet_html_a12d132d630f471c64ad943cbbffb2851"><div class="ttname"><a href="classsegNet.html#a12d132d630f471c64ad943cbbffb2851">segNet::SetGlobalAlpha</a></div><div class="ttdeci">void SetGlobalAlpha(float alpha, bool explicit_exempt=true)</div><div class="ttdoc">Set a global alpha value for all classes (between 0-255), (optionally except for those that have been...</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a909c376ffd7d5363aea65c200f2e008e"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a909c376ffd7d5363aea65c200f2e008e">segNet::FCN_ALEXNET_CITYSCAPES_HD</a></div><div class="ttdoc">FCN-Alexnet trained on Cityscapes dataset with 21 classes. </div><div class="ttdef"><b>Definition:</b> segNet.h:59</div></div>
<div class="ttc" id="classsegNet_html_a586492c234d2dc924458e99d6026dbb4"><div class="ttname"><a href="classsegNet.html#a586492c234d2dc924458e99d6026dbb4">segNet::NetworkTypeFromStr</a></div><div class="ttdeci">static NetworkType NetworkTypeFromStr(const char *model_name)</div><div class="ttdoc">Parse a string from one of the built-in pretrained models. </div></div>
<div class="ttc" id="classtensorNet_html_a3487d6af48f91afcbeea76552d21d1c5"><div class="ttname"><a href="classtensorNet.html#a3487d6af48f91afcbeea76552d21d1c5">tensorNet::mOutputs</a></div><div class="ttdeci">std::vector&lt; outputLayer &gt; mOutputs</div><div class="ttdef"><b>Definition:</b> tensorNet.h:551</div></div>
<div class="ttc" id="classsegNet_html_a1365e866302f49f6fe7f9fe95cbe6a72"><div class="ttname"><a href="classsegNet.html#a1365e866302f49f6fe7f9fe95cbe6a72">segNet::overlayLinear</a></div><div class="ttdeci">bool overlayLinear(float *input, uint32_t in_width, uint32_t in_height, float *output, uint32_t out_width, uint32_t out_height, bool mask_only)</div></div>
<div class="ttc" id="group__tensorNet_html_gaa5d3f9981cdbd91516c1474006a80fe4"><div class="ttname"><a href="group__tensorNet.html#gaa5d3f9981cdbd91516c1474006a80fe4">deviceType</a></div><div class="ttdeci">deviceType</div><div class="ttdoc">Enumeration for indicating the desired device that the network should run on, if available in hardwar...</div><div class="ttdef"><b>Definition:</b> tensorNet.h:106</div></div>
<div class="ttc" id="tensorNet_8h_html_a2dd230b8ba7267356e52b308b5c40077"><div class="ttname"><a href="tensorNet_8h.html#a2dd230b8ba7267356e52b308b5c40077">DIMS_C</a></div><div class="ttdeci">#define DIMS_C(x)</div><div class="ttdef"><b>Definition:</b> tensorNet.h:50</div></div>
<div class="ttc" id="classsegNet_html_a31e8118b2a38e330b6e087cf6c98396e"><div class="ttname"><a href="classsegNet.html#a31e8118b2a38e330b6e087cf6c98396e">segNet::GetNumClasses</a></div><div class="ttdeci">uint32_t GetNumClasses() const</div><div class="ttdoc">Retrieve the number of object classes supported in the detector. </div><div class="ttdef"><b>Definition:</b> segNet.h:166</div></div>
<div class="ttc" id="classsegNet_html_a94b243146a1391e82612cb70641c4bac"><div class="ttname"><a href="classsegNet.html#a94b243146a1391e82612cb70641c4bac">segNet::GetNetworkName</a></div><div class="ttdeci">const char * GetNetworkName() const</div><div class="ttdoc">Retrieve a string describing the network name. </div><div class="ttdef"><b>Definition:</b> segNet.h:214</div></div>
<div class="ttc" id="group__tensorNet_html_ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9"><div class="ttname"><a href="group__tensorNet.html#ggaac6604fd52c6e5db82877390e0378623a1d325738f49e8e4c424ff671624e66f9">TYPE_FASTEST</a></div><div class="ttdoc">The fastest detected precision should be use (i.e. </div><div class="ttdef"><b>Definition:</b> tensorNet.h:82</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a3cb82f1b884ddc9dc8a51381c2cf8420"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a3cb82f1b884ddc9dc8a51381c2cf8420">segNet::FCN_ALEXNET_SYNTHIA_CVPR16</a></div><div class="ttdoc">FCN-Alexnet trained on SYNTHIA CVPR16 dataset. </div><div class="ttdef"><b>Definition:</b> segNet.h:56</div></div>
<div class="ttc" id="tensorNet_8h_html"><div class="ttname"><a href="tensorNet_8h.html">tensorNet.h</a></div></div>
<div class="ttc" id="classsegNet_html_a31d2bd6ddf05ce178a8e6c5b88247075"><div class="ttname"><a href="classsegNet.html#a31d2bd6ddf05ce178a8e6c5b88247075">segNet::loadClassLabels</a></div><div class="ttdeci">bool loadClassLabels(const char *filename)</div></div>
<div class="ttc" id="classsegNet_html_a3a670c08ad8b13db6ee092c59efe88b8"><div class="ttname"><a href="classsegNet.html#a3a670c08ad8b13db6ee092c59efe88b8">segNet::Overlay</a></div><div class="ttdeci">bool Overlay(float *output, uint32_t width, uint32_t height, FilterMode filter=FILTER_LINEAR)</div><div class="ttdoc">Produce the segmentation overlay alpha blended on top of the original image. </div></div>
<div class="ttc" id="group__segNet_html_ga33b5fd20f8ed468725c55eb0bcc5af71"><div class="ttname"><a href="group__segNet.html#ga33b5fd20f8ed468725c55eb0bcc5af71">SEGNET_DEFAULT_INPUT</a></div><div class="ttdeci">#define SEGNET_DEFAULT_INPUT</div><div class="ttdoc">Name of default input blob for segmentation model. </div><div class="ttdef"><b>Definition:</b> segNet.h:34</div></div>
<div class="ttc" id="classsegNet_html_a04bb46f8a71a45044d324a5e140f0777"><div class="ttname"><a href="classsegNet.html#a04bb46f8a71a45044d324a5e140f0777">segNet::FindClassID</a></div><div class="ttdeci">int FindClassID(const char *label_name)</div><div class="ttdoc">Find the ID of a particular class (by label name). </div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a46829d99af463638dfd4e547b0a2a95d"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a46829d99af463638dfd4e547b0a2a95d">segNet::FCN_ALEXNET_AERIAL_FPV_720p</a></div><div class="ttdoc">FCN-Alexnet trained on aerial first-person view of the horizon line for drones, 1280x720 and 21 outpu...</div><div class="ttdef"><b>Definition:</b> segNet.h:61</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a95a81cd526c1ada9d225f6142f5f0f41"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a95a81cd526c1ada9d225f6142f5f0f41">segNet::SEGNET_CUSTOM</a></div><div class="ttdef"><b>Definition:</b> segNet.h:64</div></div>
<div class="ttc" id="classsegNet_html_ad984bfe4460621a78440bfb4768f4e8e"><div class="ttname"><a href="classsegNet.html#ad984bfe4460621a78440bfb4768f4e8e">segNet::mLastInputWidth</a></div><div class="ttdeci">uint32_t mLastInputWidth</div><div class="ttdoc">width in pixels of last input image to be processed </div><div class="ttdef"><b>Definition:</b> segNet.h:234</div></div>
<div class="ttc" id="classsegNet_html_af2a45b6307104ed74714349becc0495c"><div class="ttname"><a href="classsegNet.html#af2a45b6307104ed74714349becc0495c">segNet::segNet</a></div><div class="ttdeci">segNet()</div></div>
<div class="ttc" id="classsegNet_html_a973c337a2c3d7371c6b7cebd3aa2ade0"><div class="ttname"><a href="classsegNet.html#a973c337a2c3d7371c6b7cebd3aa2ade0">segNet::GetClassPath</a></div><div class="ttdeci">const char * GetClassPath() const</div><div class="ttdoc">Retrieve the path to the file containing the class label descriptions. </div><div class="ttdef"><b>Definition:</b> segNet.h:192</div></div>
<div class="ttc" id="classsegNet_html_a167f9d7e76b2837485278bf7323b4eac"><div class="ttname"><a href="classsegNet.html#a167f9d7e76b2837485278bf7323b4eac">segNet::~segNet</a></div><div class="ttdeci">virtual ~segNet()</div><div class="ttdoc">Destroy. </div></div>
<div class="ttc" id="classsegNet_html_adbf7de9cddd287f99a1ef7edf531325c"><div class="ttname"><a href="classsegNet.html#adbf7de9cddd287f99a1ef7edf531325c">segNet::mClassColors</a></div><div class="ttdeci">float * mClassColors[2]</div><div class="ttdoc">array of overlay colors in shared CPU/GPU memory </div><div class="ttdef"><b>Definition:</b> segNet.h:230</div></div>
<div class="ttc" id="classsegNet_html_ac1f23154131a719769edf4811f8762ef"><div class="ttname"><a href="classsegNet.html#ac1f23154131a719769edf4811f8762ef">segNet::mClassMap</a></div><div class="ttdeci">uint8_t * mClassMap[2]</div><div class="ttdoc">runtime buffer for the argmax-classified class index of each tile </div><div class="ttdef"><b>Definition:</b> segNet.h:231</div></div>
<div class="ttc" id="classsegNet_html_a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0"><div class="ttname"><a href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0a034092312a95fa984ab6c8e559c3c9e0">segNet::FILTER_LINEAR</a></div><div class="ttdoc">Bilinear filtering. </div><div class="ttdef"><b>Definition:</b> segNet.h:73</div></div>
<div class="ttc" id="classsegNet_html_a5579582306d8b98e3a8acf2b73e13ea0abe4ae38cf99cdab6c3b070ee4a83bb47"><div class="ttname"><a href="classsegNet.html#a5579582306d8b98e3a8acf2b73e13ea0abe4ae38cf99cdab6c3b070ee4a83bb47">segNet::FILTER_POINT</a></div><div class="ttdoc">Nearest point sampling. </div><div class="ttdef"><b>Definition:</b> segNet.h:72</div></div>
<div class="ttc" id="classsegNet_html_af9a9bd73dc17940aa87aacba2001b09b"><div class="ttname"><a href="classsegNet.html#af9a9bd73dc17940aa87aacba2001b09b">segNet::mClassPath</a></div><div class="ttdeci">std::string mClassPath</div><div class="ttdef"><b>Definition:</b> segNet.h:228</div></div>
<div class="ttc" id="classsegNet_html_ad7970fe3c387258828d628bd5f08e57a"><div class="ttname"><a href="classsegNet.html#ad7970fe3c387258828d628bd5f08e57a">segNet::mLastInputImg</a></div><div class="ttdeci">float * mLastInputImg</div><div class="ttdoc">last input image to be processed, stored for overlay </div><div class="ttdef"><b>Definition:</b> segNet.h:233</div></div>
<div class="ttc" id="classsegNet_html_a1efb45b81c82dd6f74c641ab39a41387"><div class="ttname"><a href="classsegNet.html#a1efb45b81c82dd6f74c641ab39a41387">segNet::Mask</a></div><div class="ttdeci">bool Mask(uint8_t *output, uint32_t width, uint32_t height)</div><div class="ttdoc">Produce a grayscale binary segmentation mask, where the pixel values correspond to the class ID of th...</div></div>
<div class="ttc" id="classsegNet_html_a3b98b9827d5c07e84ed6711414b96554"><div class="ttname"><a href="classsegNet.html#a3b98b9827d5c07e84ed6711414b96554">segNet::classify</a></div><div class="ttdeci">bool classify(const char *ignore_class)</div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660a0760a67c5a08aad80d7dc732bc760e31"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660a0760a67c5a08aad80d7dc732bc760e31">segNet::FCN_ALEXNET_CITYSCAPES_SD</a></div><div class="ttdoc">FCN-Alexnet trained on Cityscapes dataset with 21 classes. </div><div class="ttdef"><b>Definition:</b> segNet.h:60</div></div>
<div class="ttc" id="classsegNet_html"><div class="ttname"><a href="classsegNet.html">segNet</a></div><div class="ttdoc">Image segmentation with FCN-Alexnet or custom models, using TensorRT. </div><div class="ttdef"><b>Definition:</b> segNet.h:47</div></div>
<div class="ttc" id="classsegNet_html_a96b6fe6b05534c0792f8cc9353723219"><div class="ttname"><a href="classsegNet.html#a96b6fe6b05534c0792f8cc9353723219">segNet::GetGridWidth</a></div><div class="ttdeci">uint32_t GetGridWidth() const</div><div class="ttdoc">Retrieve the number of columns in the classification grid. </div><div class="ttdef"><b>Definition:</b> segNet.h:198</div></div>
<div class="ttc" id="group__tensorNet_html_ga5a46a965749d6118e01307fd4d4865c9"><div class="ttname"><a href="group__tensorNet.html#ga5a46a965749d6118e01307fd4d4865c9">DEFAULT_MAX_BATCH_SIZE</a></div><div class="ttdeci">#define DEFAULT_MAX_BATCH_SIZE</div><div class="ttdoc">Default maximum batch size. </div><div class="ttdef"><b>Definition:</b> tensorNet.h:65</div></div>
<div class="ttc" id="classtensorNet_html"><div class="ttname"><a href="classtensorNet.html">tensorNet</a></div><div class="ttdoc">Abstract class for loading a tensor network with TensorRT. </div><div class="ttdef"><b>Definition:</b> tensorNet.h:188</div></div>
<div class="ttc" id="group__segNet_html_ga05c359c7dcd0c1e855543a3a9a18c422"><div class="ttname"><a href="group__segNet.html#ga05c359c7dcd0c1e855543a3a9a18c422">SEGNET_DEFAULT_OUTPUT</a></div><div class="ttdeci">#define SEGNET_DEFAULT_OUTPUT</div><div class="ttdoc">Name of default output blob for segmentation model. </div><div class="ttdef"><b>Definition:</b> segNet.h:40</div></div>
<div class="ttc" id="classsegNet_html_a7779565e2e627209d6fc6e7562047431"><div class="ttname"><a href="classsegNet.html#a7779565e2e627209d6fc6e7562047431">segNet::GetNetworkType</a></div><div class="ttdeci">NetworkType GetNetworkType() const</div><div class="ttdoc">Retrieve the network type (alexnet or googlenet) </div><div class="ttdef"><b>Definition:</b> segNet.h:209</div></div>
<div class="ttc" id="classsegNet_html_a218a2c71cb4d59476070385c7370f789"><div class="ttname"><a href="classsegNet.html#a218a2c71cb4d59476070385c7370f789">segNet::loadClassColors</a></div><div class="ttdeci">bool loadClassColors(const char *filename)</div></div>
<div class="ttc" id="classsegNet_html_a07e9a40b797f22ed0f0e83479be57d17"><div class="ttname"><a href="classsegNet.html#a07e9a40b797f22ed0f0e83479be57d17">segNet::GetClassColor</a></div><div class="ttdeci">float * GetClassColor(uint32_t id) const</div><div class="ttdoc">Retrieve the class synset category of a particular class. </div><div class="ttdef"><b>Definition:</b> segNet.h:176</div></div>
<div class="ttc" id="classsegNet_html_a2a9108ad71f4d5f1995ac58282a10b88"><div class="ttname"><a href="classsegNet.html#a2a9108ad71f4d5f1995ac58282a10b88">segNet::SetClassColor</a></div><div class="ttdeci">void SetClassColor(uint32_t classIndex, float r, float g, float b, float a=255.0f)</div><div class="ttdoc">Set the visualization color of a particular class of object. </div></div>
<div class="ttc" id="classsegNet_html_a4341b8ae226236eef40867bab4c7f251"><div class="ttname"><a href="classsegNet.html#a4341b8ae226236eef40867bab4c7f251">segNet::mLastInputHeight</a></div><div class="ttdeci">uint32_t mLastInputHeight</div><div class="ttdoc">height in pixels of last input image to be processed </div><div class="ttdef"><b>Definition:</b> segNet.h:235</div></div>
<div class="ttc" id="classsegNet_html_a2fe1beec3215b5d7744420b57ba397c4"><div class="ttname"><a href="classsegNet.html#a2fe1beec3215b5d7744420b57ba397c4">segNet::Process</a></div><div class="ttdeci">bool Process(float *input, uint32_t width, uint32_t height, const char *ignore_class=&quot;void&quot;)</div><div class="ttdoc">Perform the initial inferencing processing portion of the segmentation. </div></div>
<div class="ttc" id="classsegNet_html_ab561d3c9e3c733e785aaa790f0f2f660"><div class="ttname"><a href="classsegNet.html#ab561d3c9e3c733e785aaa790f0f2f660">segNet::NetworkType</a></div><div class="ttdeci">NetworkType</div><div class="ttdoc">Enumeration of pretrained/built-in network models. </div><div class="ttdef"><b>Definition:</b> segNet.h:53</div></div>
<div class="ttc" id="classsegNet_html_a0679f72dbced85d919d01af841c67db9"><div class="ttname"><a href="classsegNet.html#a0679f72dbced85d919d01af841c67db9">segNet::Create</a></div><div class="ttdeci">static segNet * Create(NetworkType networkType=FCN_ALEXNET_CITYSCAPES_SD, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true)</div><div class="ttdoc">Load a new network instance. </div></div>
<div class="ttc" id="classsegNet_html_a95980d825a9939d0f48bfb2ef51ebb79"><div class="ttname"><a href="classsegNet.html#a95980d825a9939d0f48bfb2ef51ebb79">segNet::GetGridHeight</a></div><div class="ttdeci">uint32_t GetGridHeight() const</div><div class="ttdoc">Retrieve the number of rows in the classification grid. </div><div class="ttdef"><b>Definition:</b> segNet.h:204</div></div>
<div class="ttc" id="tensorNet_8h_html_a1fc0b1785ea99bd75ec83b1eeb4e6120"><div class="ttname"><a href="tensorNet_8h.html#a1fc0b1785ea99bd75ec83b1eeb4e6120">DIMS_H</a></div><div class="ttdeci">#define DIMS_H(x)</div><div class="ttdef"><b>Definition:</b> tensorNet.h:51</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_2e4d84877693cd000e5cb535f4b23486.html">jetson-inference</a></li><li class="navelem"><a class="el" href="segNet_8h.html">segNet.h</a></li>
    <li class="footer">Generated on Fri Jun 21 2019 16:23:14 for Jetson Inference by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
